package br.edu.faculdadeprojecao.conversores;

import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
import javax.persistence.EntityManager;

import br.edu.faculdadeprojecao.DAO.ProfessorDAO;
import br.edu.faculdadeprojecao.infra.JPAUtil;
import br.edu.faculdadeprojecao.modelo.Professor;

/**
 * Classe responsavel por converter um objeto do tipo professor para String.
 * 
 * @author v0rtex
 *
 */
@FacesConverter (value="professorConverter")
public class ProfessorConverter implements Converter {

	/**
	 * Convete um objeto do tipo string pra objeto do tipo professor.
	 * 
	 */
	@Override
	public Object getAsObject(FacesContext fc, UIComponent uic, String string) {
		
		EntityManager em = new JPAUtil().getEntityManager();
		ProfessorDAO dao = new ProfessorDAO(em);
		Professor professor = dao.buscaPorMatricula(string.replace(" ", ""));
		return professor;
	}

	/**
	 * Converte um object do tipo professor para String.
	 */
	@Override
	public String getAsString(FacesContext fc, UIComponent uic, Object o) {
		Professor professor= new Professor();
		professor = (Professor) o;
		return professor.getUsuario().getMatricula();
	}

}
